home *** CD-ROM | disk | FTP | other *** search
Text File | 1997-02-13 | 5.6 KB | 247 lines | [TEXT/MPS ] |
- //# Copyright: © 1993-1995 by Apple Computer, Inc., all rights reserved.
-
- #ifndef _ODTYPESM_
- #define _ODTYPESM_
-
- #define _PLATFORM_MACINTOSH_
-
- #ifndef _PLATFORM_BIG_ENDIAN_
- #define _PLATFORM_BIG_ENDIAN_
- #endif
-
- // Platform-specific types. Four byte types are defined as unsigned long,
- // rather than
- // foreign, so that they can be marshalled. They are not emitted however,
- // so that the actual type definitions in ODTypesF.h are used, so that type
- // casting is not necessary where these types are used.
-
- typedef unsigned long ODPlatformCanvas;
- typedef unsigned long ODPlatformPrintJob;
- typedef unsigned long ODPlatformShape; // Graphics-system-dependent shape data
- typedef unsigned long ODPlatformTransform; // Graphics-system-dependent transform data
- typedef unsigned long ODRgnHandle;
- typedef unsigned long ODgxShape;
- typedef unsigned long ODPlatformWindow;
- typedef unsigned long ODPlatformMenu;
- typedef unsigned long ODPlatformMenuBar;
- typedef unsigned long ODOSType;
- typedef unsigned long ODPlatformType; // Host platform file & data type
- typedef unsigned long ODHandle;
- typedef unsigned long ODPlatformDragReference;
-
- struct Point { // This is a QuickDraw "Point" structure.
- short v; // It's 32 bits, but still a struct, and for things to work
- short h; // at runtime, SOM has to _know_ that it's really a struct.
- }; // ("Don't fool SOM!" --Erik Eidt) --jpa
-
- struct Rect { // This is a QuickDraw "Rect" structure.
- short top;
- short left;
- short bottom;
- short right;
- };
-
- //#struct AEDesc { // This is the Apple events structure of the same name.
- //# unsigned long descriptorType;
- //# unsigned long dataHandle;
- //#};
-
- typedef unsigned long DescType;
- typedef unsigned long AEEventClass;
- typedef unsigned long AEEventID;
- typedef long AESendMode;
- typedef short AESendPriority;
-
- struct EventRecord {
- short what;
- long message;
- long when;
- Point where;
- short modifiers;
- };
-
- // End of platform types
-
- #ifndef _ODTYPESB_
- #include "ODTypesB.idl"
- #endif
-
- #ifndef _GEOTYPES_
- #include "GeoTypes.idl"
- #endif
-
- #if defined(__SOMIDL__) && defined(EMIT_GLOBAL_TYPES)
- #pragma somemittypes on
- #endif
-
- #ifdef _PLATFORM_MACINTOSH_
-
- //#=============================================================================
- //# Emitted Types, Consts, Enums, etc.
- //#=============================================================================
-
- //# // Semantic Interface
-
- typedef DescType ODDescType;
-
- //#typedef AEDesc ODDesc;
-
- typedef AESendMode ODSendMode;
- typedef AESendPriority ODSendPriority;
-
- typedef AEEventClass ODEventClass;
- typedef AEEventID ODEventID;
-
- // Types added for OSAObject support
-
- typedef ODULong ODScriptingSubType;
- typedef ODULong ODScriptingConnection;
- typedef ODULong ODOSAID;
-
-
- // OS specific types
- //
- // The following typedefs are OS specific. They are put together in this file for the
- // time being. However, they can be put into separate files if desired. For example,
- // all the primitive types will be put in ODPlatformMisc.h;
- // all graphics system types will be put in ODPlatformGraphics.h;
- // all File system types will be put in ODPlatformFiles.h; and so on.
- // The advantage of splitting them in separate files is the changing one type will not
- // require recompiling all the files which includea ODTypes.h. Also, there may be a lot
- // of OS-specific types. If that's the case, we don't want them all in one file.
- //
-
- // Text
-
- typedef long ODITextFormat;
-
-
- struct ODIText {
- ODITextFormat format;
- ODByteArray text;
- };
-
- typedef ODIText ODName;
- typedef ODName ODContainerName;
- typedef ODName ODDocumentName;
-
- // Imaging
-
- typedef ODHandle ODIconFamily;
-
- // Events
-
- typedef ODUShort ODEventType;
-
- typedef EventRecord ODEventData;
-
- interface ODFrame;
- interface ODFacet;
-
- struct ODEventInfo
- {
- ODFrame embeddedFrame;
- ODFacet embeddedFacet;
- ODPoint where;
- ODBoolean propagated;
- };
-
-
- typedef ODULong ODIdleFrequency;
-
- typedef ODULong ODTime;
-
- // Menus
-
- typedef ODSShort ODMenuID;
- typedef ODSShort ODMenuItemID;
- typedef ODSLong ODCommandID;
-
-
- // Windows
-
- typedef ODUShort ODWindowLayer;
-
-
- // Name Binding
-
- typedef ODISOStr ODKind; // An opaque type identifying a specific part kind
- typedef ODISOStr ODCategory; // An opaque type identifying a specific part category
- typedef ODISOStr ODEditor; // An opaque type identifying a specific part editor
- typedef ODISOStr ODContainerSuite; // An opaque type identifying a specific container suite
-
- typedef ODULong ODUpdateID; // Content update IDs
-
- typedef ODULong ODDraftKey;
-
- // Drag and Drop
-
- typedef ODBoolean ODDragResult;
-
- // Link Protocol
-
- typedef ODULong ODLinkUpdateResult;
-
-
- typedef ODULong ODPasteAsMergeSetting;
-
-
- struct ODLinkInfo
- {
- ODType kind;
- ODTime creationTime;
- ODTime changeTime;
- ODUpdateID change;
- ODBoolean autoUpdate;
- };
-
- // Link Dialogs
-
- struct ODPasteAsResult
- {
- ODBoolean pasteLinkSetting;
- ODBoolean autoUpdateSetting;
- ODBoolean mergeSetting;
- ODTypeToken selectedView;
- ODType selectedKind;
- ODType translateKind;
- ODEditor editor;
- };
-
- enum ODLinkInfoAction
- {
- kODLinkInfoCancel /* = 0 */,
- kODLinkInfoOk,
- kODLinkInfoBreakLink,
- kODLinkInfoUpdateNow,
- kODLinkInfoFindSource
- };
-
- struct ODLinkInfoResult
- {
- ODLinkInfoAction action;
- ODBoolean autoUpdate;
- };
-
- //==============================================================================
- // Constants
- //==============================================================================
-
-
-
-
-
- #if defined(__SOMIDL__) && defined(EMIT_GLOBAL_TYPES)
- #pragma somemittypes off
- #endif
-
-
- #endif //# _PLATFORM_MACINTOSH_
-
- module OpenDoc_Global_Types
- {
- const string OpenDoc_Types_Version = "1.0.";
- };
-
- #endif //# _ODTYPESM
-